// ****************************************************************************
// @File: GcManager.h
//
// PURPOSE: The GcManager is used to controll the GC process
// AUTHOR:  Zj Ai
//
// NOTES: 
//     
// HISTORY:
//
//   ------ Zj Ai  05/07/2012 creating the file
//
// @EndHeader@
// ****************************************************************************

#include "stdafx.h"
#include "SmartPtrManager.h"

class CSmartPtrManager;

// the main purpose of GC is to delete cycle reference.
class CGcManager
{
public:
	// start the gc thread
	static void StartGcThread();
	
	// inform the system to stop the gc thread, 
	// but the real time would be a little later
	static void EndGcThread();

protected:
	// the thread function
	static unsigned __stdcall GcThreadFunc( void * );

};